package com.ejzblog.mall.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.http.HttpStatus;

/**
 * <p>
 * Description：响应枚举
 * </p>
 *
 * @author Mango
 * @version v1.0.0
 * @ProjectName: community-mall-master
 * @Package: com.ejzblog.mall.enums
 * @date 2021-07-13 14:00
 * @see com.ejzblog.mall.enums
 */
@Getter
@AllArgsConstructor
public enum ResponseStatusEnum {

    UNKNOWN_ERROR_TYPE(-1, "未知错误", "未知错误"),

    SERVICE_TEMPORARILY_UNAVAILABLE(-2, "服务暂时不可用", "服务暂时不可用"),

    OK(HttpStatus.OK.value(), "操作成功", "操作成功"),

    INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR.value(), "操作失败", "内部服务器错误"),

    NO_PERMISSION(HttpStatus.NOT_FOUND.value(), "暂无权限", "暂无权限"),

    NULL_POINTER_EXCEPTION(HttpStatus.NO_CONTENT.value(), "请求参数不能为空", "请求参数不能为空"),

    WE_CHAT_SERVER_ERROR(HttpStatus.NO_CONTENT.value(), "获取openid时，无法访问到微信服务器！", "获取openid时，无法访问到微信服务器！"),
    WE_CHAT_DECRYPT_ERROR(HttpStatus.NO_CONTENT.value(), "解密微信信息错误！", "解密微信信息错误！"),
    WE_CHAT_ACCESS_TOKEN_ERROR(HttpStatus.NO_CONTENT.value(), "请求微信服务器获取ACCESS_TOKEN错误", "请求微信服务器获取ACCESS_TOKEN错误"),

    ;
    /**
     * 状态值
     */
    private Integer code;

    /**
     * 谨慎定义,暴露给用户的错误提醒
     */
    private String message;

    /**
     * 给后端人员提示
     */
    public String details;

}
